Expert based systems, and in particular knowledge management systems, utilize the knowledge provided by one or more human experts in a field and store it so that such knowledge is readily available and accessible. Expert systems are usually designed to be an “expert” in a very narrow field because of the amount of information required to establish such expertise. Administrators of such expert systems may have difficulties with keeping such knowledge current and accurate. Expert systems are commonly utilized today in various fields, including medicine, meteorology, capital market modeling, financial credit analysis, and various other complex fields and operations. Expert systems contain acquired expert knowledge and attempt to imitate an expert's thought processes so as to offer a solution to a problem. Academics consider expert systems to be a subset of the larger field of artificial intelligence.
Expert systems commonly contain two components: a knowledge or rule base and an inference or rules engine program. The knowledge/rule base is programmed as a series of rules such as “IF . . . THEN” statements or other logical, financial, mathematical, functional, temporal and/or relational statements. An example of a rule may be: “IF the animal is a bird, AND it does not fly, AND it swims, AND it is black and white, THEN it is a penguin.”
The knowledge/rule base provides the storage location of the knowledge of one or more human experts in a specific field or task. The knowledge/rule base is usually made up of factual knowledge and heuristic or “rule of thumb” knowledge. Factual knowledge typically consists of information that is commonly shared and is quite often found in textbooks or journals, and is typically agreed upon by humans knowledgeable in a specific field or task. Heuristic knowledge is knowledge gained from experience and may include, for example, actual data and/or statistical representations of actual data.
The inference or rule engine of an expert system is usually configured to mimic the reasoning and problem solving ability that the human expert would utilize to arrive at an answer or conclusion to a given problem. In short, the inference/rule engine is that element of an expert system which analyzes information utilizing the knowledge/rule base established by the experts and/or the actual data.
To date, most expert systems have utilized a given set of rules for each specific task, client, process, environment or any other variable. As such, expert systems for specific tasks have become commonly available. Further, when an expert system is implemented for a small client base or a limited number of tasks and/or activities, the expert systems can often be efficiently and conveniently updated. However, when the same expert system is applied across multiple players and industry groups, the creation, maintaining and updating of the rules utilized by such systems become problematic, because each player in such field may desire to utilize different and/or customized rules. Such rules may be specified by the customer or any one of the plurality of “experts” that commonly exist in a given industry, field or endeavor. In short, there often is no single best practice that is commonly accepted by everyone in a given field.
As a result, administrators of expert and other rule based systems are often forced to either maintain large staffs of experts who can create, monitor and update the various rules (and all their infinite iterations) for a plurality of customers or to not provide client specific and/or customized rules and instead utilize a limited set of standardized rules (when such standards exist).
Thus, there is a need for a system and method which enables clients, system administrators, and others to create and access rules which are current and up-to-date while taking into consideration specific needs and preferences of a multitude of users and experts.
It is against this background that various embodiments of the present invention were developed.